-- @owner: lihongji
-- @date: 2022-07-20
-- @testpoint: variance-参数内函数测试

--step1:建表；expect：成功
drop table if exists t_ustore_variance_case0017;
create table  t_ustore_variance_case0017(
     col_1 integer,
     col_2 bigint,
     col_3 float8,
     col_4 decimal(12,6),
     col_5 bool,
     col_6 char(30),
     col_7 varchar2(50),
     col_8 varchar(30),
     col_9 interval day to second,
     col_10 timestamp,
     col_11 date,
     col_12 smalldatetime,
     col_13 timestamp without time zone,
     col_14 blob,
     col_15 clob,
     col_16 int[]
) with (storage_type=ustore);
--step2：创建序列；expect：成功
drop sequence if exists s_ustore_variance_case0017;
create sequence s_ustore_variance_case0017 increment by 1 start with 10;
--step3：清空数据；expect：成功
truncate table t_ustore_variance_case0017;
--step4：插入数据；expect：成功
begin
	for i in 1..50 loop
      insert into t_ustore_variance_case0017 values(
	  i,
      s_ustore_variance_case0017.nextval,
	  i+445.255,
	  98*0.99*i,
	  true,
	  lpad('abc','30','@'),
	  lpad('abc','30','b'),
	  rpad('abc','30','e'),
	  (interval '4 5:12:10.222' day to second(3)),
	  to_timestamp('2019-01-03 14:58:54.000000','YYYY-MM-DD HH24:MI:SS.FFFFFF'),
	  to_timestamp('2019-01-03 14:58:54.000000','YYYY-MM-DD HH24:MI:SS.FFFFFF'),
	  to_timestamp('2019-01-03 14:58:54.000000','YYYY-MM-DD HH24:MI:SS.FFFFFF'),
	  to_timestamp('2019-01-03 14:58:54.000000','YYYY-MM-DD HH24:MI:SS.FFFFFF'),
	  lpad('10','12','01010')::blob,
	  rpad('abc','9','a@123&^%djgk'),
	  '{32,535,5645645,6767,76,67,56,48,979,978,7}'
	  );
    end loop;
end;
/
--step5：插入数据；expect：成功
insert into t_ustore_variance_case0017 select * from t_ustore_variance_case0017;
insert into t_ustore_variance_case0017 select * from t_ustore_variance_case0017;
--step6：参数内函数样本方差；expect：成功
select variance(abs(col_1)+ceil(col_3)*floor(col_4)) from t_ustore_variance_case0017 order by 1;
select variance(cos(col_1)*exp(col_3/100)/ln(col_4)) from t_ustore_variance_case0017 order by 1;
select variance(sign(col_1-col_2)-sin(col_3)/floor(col_4)) from t_ustore_variance_case0017 order by 1;
select variance(tan(col_1)+ceil(col_3)*sqrt(col_4)) from t_ustore_variance_case0017 order by 1;
--step7：清理环境；expect：成功
drop table if exists t_ustore_variance_case0017;
drop sequence if exists s_ustore_variance_case0017;